#ifndef MAPAPLANO_H
#define MAPAPLANO_H

#include "mapaabstracto.h"
#include "Mapa.h"

namespace ui {
namespace tablero {
namespace mapa {

class MapaPlano: public MapaAbstracto {

public:

    MapaPlano(TexturaDeFondo &p_TexturaDeFondo, Mapa *p_Mapa);
    ~MapaPlano();

	virtual void moverCamara(mover_camara_e p_eMoverCamara);
	virtual void actualizarPerspectiva(int p_iAncho, int p_iAltura);
	virtual void actualizarCamara();
	virtual void actualizarSeleccion(int p_x, int p_y);

protected:

	virtual void dibujarPlaneta();
	virtual void dibujarCiudades();
	
private:

	//Esta función está basada en cual tiene el mismo nombre del libro
	//Graphics Gems volumen II y adaptada por Daniel A. Diaczun.
	int	intsph(Point3 raybase, Vector3 raycos, Point3 center, double radius);
};

}
}
}

#endif
